#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>

using namespace std;

int main() {
  divides<float> div;
  equal_to<int> equal;
  cout << equal(50, 40) << endl;
  cout << div(41.1f, 55) << endl;

  vector<int> v1 = {55, 5, 6, 99};
  sort(v1.begin(), v1.end(), less<int>());
  for (auto &i : v1) {
    cout << i << endl;
  }

  vector<bool> v2 = {false, true, false, true, true};

  transform(v2.begin(), v2.end(), v2.begin(), logical_not<bool>());
  for (auto &&itim : v2) {
    cout << ((itim == true) ? "true" : "false") << endl;
  }

  return 0;
}